#ifndef _DPDK_H
#define _DPDK_H

#include <rte_version.h>
#include <rte_eal.h>
#include <rte_ethdev.h>
#include <rte_mbuf.h>

typedef struct _socket_data
{
	int portid;
	struct rte_mempool *mpool;
	uint16_t buf_count; // > 8192
	uint16_t buf_size; // RTE_MBUF_DEFAULT_BUF_SIZE 2048
	uint8_t src_mac[RTE_ETHER_ADDR_LEN];
	uint8_t dst_mac[RTE_ETHER_ADDR_LEN];

	int dpdk_argc;
	char** dpdk_argv;

	int send_table_size;
	int recv_table_size;
	int send_pkt_size;
	int recv_pkt_size;
	struct rte_mbuf **mtable_send;
	struct rte_mbuf **mtable_recv;
	uint8_t local_mac[RTE_ETHER_ADDR_LEN];
	uint32_t local_ip;
} SocketData, *pSocketData;


#endif
